/////////////////////////////////////////////////////////////
//                                                         //
// KconfigSize : Linuxͥ륵ѥ¬ġ //
// README (Japanese)                                       //
//                                                         //
/////////////////////////////////////////////////////////////


KconfigSize Ȥϲ
==============================

KconfigSizeϡLinuxͥγconfigܤŪӻѥ
̤Ϳƶʥѥȡˤ¬뤿ΥġʷˤǤ
եѥ᡼ȤƺǾ̤Υޥ kconfigsize ư
ȡưŪ˰ʲ¹Ԥޤ

- 桼ꤷƸоconfigܤΥѥȤ򸡾ڤ뤿ᡢ
  ͥmake.configեȥͥ륤᡼Ԥ
  .configեȥͥ륤᡼ϡоconfigܣĤˤĤ
  Ȥ롣
- ƥͥ륤᡼Ū¬ꤷƸоconfigܤŪ
  Ϳ륤ѥȤ򻻽Ф롣
- ͥ륤᡼Ѥƥåȥޥ֡Ȥͥλѥ
  ¬̥ѥȤ򻻽Ф롣
  åȥޥΥ֡ȡѥ̤η¬ϡͥ
  θڤλޤǷ֤Ԥ롣

ѥ¬̤ϡWeb󥿡եޤϥƥȥե
ǻȤ뤳ȤǤޤ
Web󥿡եǤλȤϡKconfigWebѤޤ


build
==============================

Ŭʥǥ쥯ȥǡʲ¹ԤƤ

  $ tar xjvf kconfigsize.tar.bz2
  $ cd kconfigsize
  $ ./autogen.sh
  $ make
  $ make install

¹ԥХʥϡkconfigsize/bin/local ˥󥹥ȡ뤵ޤ


--------
buildˤϰʲɬפǤ
¾ˤɬפʤΤ뤫⤷ޤ
  - autoconf
  - automake
  - bison
  - flex
  - make
  - gcc

i386ޥLinuxbuildӼ¹ԲǽʤȤǧƤޤ
armmipsǤbuild¹ԤǤϤǤǧƤޤ


ڤμ¹
==============================

(1) 
--------------------

--- 1) ɬפʤΤѰ

ڤ¹Ԥ뤿ˤϡʲɬפʤΤѰդޤ
  - Linuxͥ륽
    * 2.6꡼Τб2.4꡼ˤбƤޤ
  - Python
  - åȥޥ
    * ѥθڤԤ硣qemuΥߥ졼Ǥġ


--- 2) åȥޥΥåƥ󥰡ʻѥθڤԤ

åȥޥϰʲΤ褦˥åƥ󥰤Ƥɬפޤ
  - ͥ뤬tftpˤäƥۥȥޥ󤫤ɲǽʤȡ
  - ꥢ륳󥽡ˤäơ󥽡Ϥۥȥޥ󤫤黲
    ǽʤȡ
  - åȥޥǰʲ¹Բǽʤȡ
     dmesg, expr, sed, grep
  - ۥȥޥΥޥɤˤäơåȥޥ֡Ȥ뤳
    Ȥǽʤȡ
åȥޥˤϵưץȡ/etc/rc?.dˤȤơ
kconfigsize/bin/target/memfree.sh 򥤥󥹥ȡ뤷Ƥ
åȥޥΥåƥ󥰤ȥۥȤȤ³ˤĤơܺ٤
target_jp.txt 򻲾ȤƤ


--- 3) ͥ륽ؤΥѥåŬѡʻѥθڤԤ

ѥθڤԤϡͥ륽ɤ˥ѥåƤޤ
kconfigsize/patches ˥ѥåΤǡѤ륫ͥС˱
ѥåƤƤ


--- 4) оconfigܥꥹȤκ

оݤconfigܤꤹ뤿ˡꥹȤޤ
KconfigSizeϸˡȤơtop-downפȡbottom-upפȤĤΥ
ץ򤹤뤳ȤǽǤ

  - top-down ץ
     桼.configե١Ȥơͭ
     =y or =mˤȤʤäƤconfigܤΥѥؤΥ
     Ȥ򸡾ڤ롣
     оconfigܥꥹȤǸڤconfigܤꤹ롣

  - bottom-up ץ
     ֡ȤΤ˺ɬפconfigܤȸоݤconfigܤ
     ƸоconfigܤΥѥؤΥѥȤ򸡾
     롣
     ¤configܡоconfigܤȤˡоconfig
     ꥹȤǻꤹ롣

bottom-upץtop-downץǤϡоconfigܥꥹ
ΥեޥåȤۤʤޤ
ܺ٤ˤĤƤϡconfigure_jp.txt 򻲾ȤƤ


--- 5) KconfigSizeġեκ

Ķ˹碌ƥġեޤ
ܤϰʲǤʳեꥭ

  - ڤ̾TEST_NAME
  - ڷ̤Ϥǥ쥯ȥ (DB_PATH)
  - ֽϤ֤ǥ쥯ȥWORK_PATH
  - .configե...top-downץΤ (KERNEL_CONFIG)
  - оconfigܥꥹ (TARGET_LIST)
  - ͥ륽ɤξ (KERNEL_SOURCE)
  - ̤¬Ԥɤ (DO_TEST)
   ʲϥ̤¬ԤΤ߻꤬ɬ 
  - åȥޥꥻåȤ뤿Υޥ (RESET_HELPER)
  - åȥޥȤ̿ѥޥ (MEM_MEASURE)
  - åѥͥΥԡ (INSTALL_IMAGE)

ܤϤ¾ˤ⤢ޤܺ٤ˤĤƤϡconfigure_jp.txt 򻲾
Ƥ
ե㤬 conf ǥ쥯ȥˤΤǡ⻲ͤˤƤ



(2) ڤμ¹
--------------------
ʲΥޥɤ¹Ԥޤ

$ kconfigsize/bin/kconfigsize <ġե>

.configեͥmake¬ꡢåȥޥΥ
֡ȡѥ¬꤬ưŪ˼¹Ԥ졢̤Ϥޤ



ڷ̤λ
==============================

(1) Web󥿡ե
--------------------

ڷ̤ϡ֥饦黲Ȥ뤳ȤǤޤ
httpФŬڤꤷʲCGIץȤ˥Ƥ

kconfigsize/bin/local/kconfigweb.cgi

¾ܺ٤ˤĤƤϡkconfigweb_jp.txt 򻲾ȤƤ


(2) ƥȥե
--------------------

줿.configե롢ͥ롢¬̤Υƥȥե뤬
ġե WORK_PATH, TEST_NAME ǻꤵ줿˽Ϥ



(3) ϥǥ쥯ȥ깽
--------------------

KconfigSizeġνϥǥ쥯ȥ깽ȽϤեʲ˼
ޤ
*ˤ0Ϥޤͤޤ

/
|
+- <WORK_PATH>/<TEST_NAME>/
|  |
|  +- kernel/
|  |   |
|  |   +- *.bzImage  : ̥ͥ륤᡼
|  |   +- *.vmlinux  : 󰵽̥ͥ륤᡼
|  |   +- *.config   : ͥ.configե
|  |
|  +- work/
|      |
|      +- binder_size_result : ͥ륵
|      +- indiv_size_result  : ѥ
|      +- binder_mem_result  : ͥѥ
|      +- indiv_mem_result   : ꥤѥ
|
+- <DB_PATH>/
|  |
|  +- <TEST_NAME>_{td|bu}.db : ڷ̥եKconfigWebѡ
|
+- <TESTROOT>/
   |
   +- conf/
      |
      +- kconfigweb.conf     : KconfigWebե
      (kconfigweb.conf ¸ߤϡkconfigweb.conf.tmp ϡ

ܤ
==============================

doc ǥ쥯ȥˤʲΥɥȤ⻲ȤƤ

--- configure_jp.txt
оconfigܥꥹȤȥġξܺ٤ˤĤƤޤ

--- target_jp.txt
̤򸡾ڤ뤿ˤϡۥȥޥȥåȥޥ³
ξԤŬڤꤹɬפޤ
ΥեǤξܺ٤Ƥޤ

--- kconfigweb_jp.txt
Web󥿡եǷ̤򻲾Ȥˡӷ̤θˤĤ
Ƥޤ

KconfigSizeץȤˤĤƤξ󡢤ӥɤϡʲURL
黲ȤǤޤ
http://tree.celinuxforum.org/CelfPubWiki/KernelConfigWeight

ơХϲޤǤꤤޤ
<m-ikeda@ds.jp.nec.com>
 
IKEDA, Munehiro

